//切换工作目录与导入初始数据
cd "D:\Document\doing\1、资本市场主动与被动信息披露——基于股份回购与机构调研"
/*
use "年度数据.dta",clear
save "年度数据.dta",replace
    */
use "年度数据.dta",clear

//删除部分变量
drop if 所属东财行业指数 == "金融" | 所属东财行业指数 == "房地产"
drop if Year<2010
drop Beta2 Cor2 NonSysRisk2 Rsq2 ARsq2    //总市值加权数据
drop Amount 第一大股东持股比例 OI NI Ail_rev Opncf_rev Cfadqrt Dps_at DiltEPS Rev_ps Opic_ps Apic_ps Sr_ps Udp_ps Rten_ps Ncf_ps Ebit_ps 个人来访接待量 个人来访占比 其他来访占比

drop REV Revrt Nirt Lbrt Ppert Ivtyto Curastto Fxastto Totastto Selexprt Ohexprt Fiexprt Cstexppm Csopindex Ascscvrt Csdivgrml BscEPS 来访接待量 机构来访接待量 机构来访占比 证券公司调研家数 基金公司调研家数 信托公司调研家数 财务公司调研家数 银行调研家数 私募调研家数 保险公司调研家数 资管公司调研家数 FShrhN BShrhN IShrhN SShrhN QFIIShrhN OShrhN Estbdt HLTFA CA TLE Actrcbto Wkcaptto Ncurastto Actpayto Roepc_2 第一产业增加值 第二产业增加值 第三产业增加值 人均国内生产总值

//缺失值处理
mvencode SecSurTim FunSurTim TruSurTim FinSurTim BanSurTim PriSurTim InsuSurTim CapSurTim, mv(0) override
mvencode FunSha FunAssMan SecSha SecAssMan QFIISha SocInsSha SupPenSha InsSha InsAssMan TruSha TruAssMan FiaSha BanSha GenSha NonFiaSha PenSha, mv(0) override
mvencode FCSRt BCSRt ICSRt SCSRt QFIICSRt OCSRt, mv(0) override
mvencode Pubsub, mv(0) override

//变量加工
gen InsSur= SecSurTim + FunSurTim + TruSurTim + FinSurTim + BanSurTim + PriSurTim + InsuSurTim + CapSurTim
label variable InsSur "机构调研次数"
order InsSur, before(SecSurTim)
gen Size = ln(AT) , after(AT)
gen RepurAmoR = 100*RepurAmount/Mos ,after(RepurAmount)
gen RepurMonR = 100*RepurMon/MarketValueA2 ,after(RepurMon)
gen SOERepurAmoR = RepurAmoR*SOE
gen SOERepurTime = RepurTime*SOE
order SOERepurAmoR, after(RepurAmoR)
gen Policy=1 if Year>2017
replace Policy=0 if Year<=2017
gen RepurAmoR_P = RepurAmoR*Policy
gen InsSur_P = InsSur*Policy
gen Top3Sha = Sha1+Sha2+Sha3
gen Top4_10Sha = Sha4+Sha5+Sha6+Sha7+Sha8+Sha9+Sha10
order Top3Sha Top4_10Sha,after(Top10Sha)

//标准化数据
center RepurAmoR RepurMonR,addtolabel(标准化) inplace standardize

//缩尾
winsor2 Turnover Beta1 ARsq1 InstiSha Top10Sha RepurTime RepurAmount RepurMon RepurAmoR RepurMonR InsSur,replace cuts(1,99)
//删除控制变量缺失观测
drop if Year==. | Size==. |  Aslbrt==. |  Roa_2==. |  BSEPS==. |  EV2ToEBITDA==. |  M2G==. |  MacroEcoAcco==. 
//面板数据设定
sort Scode Year
xtset Scode Year



/*
tab2 Year RepurTime
tab year ,gen(dumt) (tab命令用于列示变量year的组类别，选项gen（dumt）用于生产一个以dumt开头的年度虚拟变量) 
xtdescribe 
xtsum 回购次数 回购数量 回购金额
    */

//定义全局变量
global DepVar Turnover Beta1 ARsq1 InstiSha Top10Sha    //被解释变量
global Control Year Size Aslbrt Roa_2 BSEPS EV2ToEBITDA M2G MacroEcoAcco    //控制变量
global XtOpt " ,fe vce(robust)"    //面板数据回归固定效应选项
global UseVar Turnover Beta1 ARsq1 InstiSha Top3Sha Top4_10Sha InsSur RepurAmoR $Control    //所有变量
order Size Aslbrt Roa_2 BSEPS EV2ToEBITDA M2G MacroEcoAcco , after(Year)

/*+++++++++++++++++++++++++++++对变量进行逐个分析+++++++++++++++++++++++++++++*/
//回购次数
bysort Year: egen 年度回购次数 = sum(回购次数) 
order 年度回购次数, after(回购次数)
twoway (bar 年度回购次数 Year if Year> 2010 ), ytitle(年度回购次数) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(年度回购次数, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export  "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\年度股份回购次数.png", as(png) name("Graph") replace
drop 年度回购次数

histogram 回购次数 if 回购次数 != 0, discrete frequency ytitle(回购次数分布) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(年度回购次数分布, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export  "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\年度股份回购次数分布.png", as(png) name("Graph") replace

//回购数量
bysort Year: egen 年度回购数量 = sum(回购数量) 
order 年度回购数量, after(回购数量)
twoway (bar 年度回购数量 Year if Year> 2010 ), ytitle(年度回购数量) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(年度股份回购数量（万股）, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\年度股份回购数量.png", as(png) name("Graph") replace
drop 年度回购数量

//回购金额
bysort Year: egen 年度回购金额 = sum(回购金额) 
order 年度回购金额, after(回购金额)
twoway (bar 年度回购金额 Year if Year> 2010 ), ytitle(年度回购金额（万元）)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(年度回购金额（万元）, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\年度回购金额.png", as(png) name("Graph") replace
drop 年度回购金额

//换手率
bysort Year: egen Turnover_M = mean(Turnover) 
order Turnover_M, after(Turnover)
twoway (bar Turnover_M Year if Year > 2002), ytitle(换手率)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(市场换手率, size(medlarge)) caption(数据来源：CSMAR数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\1、资本市场主动与被动信息披露——基于股份回购与机构调研\图表\市场换手率.png", as(png) name("Graph") replace
drop Turnover_M

histogram Turnover if Year == 2019, bin(100) frequency ytitle(密度)  xtitle(换手率) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(2019年市场换手率分布, size(medlarge)) caption(数据来源：CSMAR数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\1、资本市场主动与被动信息披露——基于股份回购与机构调研\图表\2019年市场换手率分布.png", as(png) name("Graph") replace

histogram Turnover, bin(100) ytitle(密度)  xtitle(换手率) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(2010-2019年市场换手率分布, size(medlarge)) caption(数据来源：CSMAR数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\1、资本市场主动与被动信息披露——基于股份回购与机构调研\图表\2010-2019年市场换手率分布.png", as(png) name("Graph") replace


//流动性指标
bysort Year: egen Liquidility_M = mean(Liquidility) 
order Liquidility_M, after(Liquidility)
twoway (bar Liquidility_M Year ), ytitle(流动性)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(市场流动性, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\流动性指标.png", as(png) name("Graph") replace
drop Liquidility_M

//Turnover Beta1 ARsq1 InstiSha Top10Sha RepurTime RepurAmount RepurMon RepurAmoR RepurMonR InsSur
bysort Year: egen Beta1_M = mean(Beta1) 
order Beta1_M, after(Beta1)
twoway (bar Beta1_M Year ), ytitle(流动性)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(市场流动性, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\流动性指标.png", as(png) name("Graph") replace
drop Beta1_M


//投资者保护指数
bysort Year: egen InvesProtectIndex_M = mean(InvesProtectIndex) 
order InvesProtectIndex_M, after(InvesProtectIndex)

twoway (bar InvesProtectIndex_M Year if Year >= 2012 ), ytitle(投资者保护指数)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数.png", as(png) name("Graph") replace



histogram InvesProtectIndex if Year==2010, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2010年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2010.png", as(png) name("Graph") replace

histogram InvesProtectIndex if Year==2011, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2011年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2011.png", as(png) name("Graph") replace

histogram InvesProtectIndex if Year==2012, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2012年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2012.png", as(png) name("Graph") replace

histogram InvesProtectIndex if Year==2013, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2013年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2013.png", as(png) name("Graph") replace

histogram InvesProtectIndex if Year==2014, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2014年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2014.png", as(png) name("Graph") replace

histogram InvesProtectIndex if Year==2015, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2015年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2015.png", as(png) name("Graph") replace

histogram InvesProtectIndex if Year==2016, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2016年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2016.png", as(png) name("Graph") replace

histogram InvesProtectIndex if Year==2017, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2017年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2017.png", as(png) name("Graph") replace

histogram InvesProtectIndex if Year==2018, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2018年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2018.png", as(png) name("Graph") replace

histogram InvesProtectIndex if Year==2019, ytitle(密度)  xtitle(投资者保护指数) ylabel(0(0.02)0.12, labels labcolor(black%80)) xlabel(20(10)70, labels) title(2019年投资者保护指数, size(medlarge)) caption(数据来源：北京工商大学商学院投资者保护研究中心) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\投资者保护指数\2019.png", as(png) name("Graph") replace


//个人来访接待量
bysort Year: egen 个人来访接待量_M = sum(个人来访接待量) 
order 个人来访接待量_M, after(个人来访接待量)
twoway (bar 个人来访接待量_M Year if Year >= 2010 ), ytitle(个人来访接待量)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(个人来访接待量, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\个人来访接待量.png", as(png) name("Graph") replace
drop 个人来访接待量_M

//机构来访接待量
bysort Year: egen 机构来访接待量_M = sum(机构来访接待量) 
order 机构来访接待量_M, after(机构来访接待量)
twoway (bar 机构来访接待量_M Year if Year >= 2010 ), ytitle(机构来访接待量)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(机构来访接待量, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\机构来访接待量.png", as(png) name("Graph") replace
drop 机构来访接待量_M

//机构调研
bysort Year: egen 机构调研次数_M = sum(机构调研次数) 
order 机构调研次数_M, after(机构调研次数)
twoway (bar 机构调研次数_M Year if Year >= 2010 ), ytitle(机构调研次数)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(机构调研次数, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\机构调研次数.png", as(png) name("Graph") replace
drop 机构调研次数_M

//分机构机构调研
bysort Year: egen 证券公司调研次数_M = sum(证券公司调研次数) 
order 证券公司调研次数_M, after(国有企业机构调研)
bysort Year: egen 基金公司调研次数_M = sum(基金公司调研次数) 
order 基金公司调研次数_M, after(证券公司调研次数_M)
bysort Year: egen 信托公司调研次数_M = sum(信托公司调研次数) 
order 信托公司调研次数_M, after(基金公司调研次数_M)
bysort Year: egen 财务公司调研次数_M = sum(财务公司调研次数) 
order 财务公司调研次数_M, after(信托公司调研次数_M)
bysort Year: egen 银行调研次数_M = sum(银行调研次数) 
order 银行调研次数_M, after(财务公司调研次数_M)
bysort Year: egen 私募调研次数_M = sum(私募调研次数) 
order 私募调研次数_M, after(银行调研次数_M)
bysort Year: egen 保险公司调研次数_M = sum(保险公司调研次数) 
order 保险公司调研次数_M, after(私募调研次数_M)
bysort Year: egen 资管公司调研次数_M = sum(资管公司调研次数) 
order 资管公司调研次数_M, after(保险公司调研次数_M)
duplicates drop Year,force
drop 证券公司调研次数 基金公司调研次数 信托公司调研次数 财务公司调研次数 银行调研次数 私募调研次数 保险公司调研次数 资管公司调研次数
rename 证券公司调研次数_M 证券公司调研次数
rename 基金公司调研次数_M 基金公司调研次数
rename 信托公司调研次数_M 信托公司调研次数
rename 财务公司调研次数_M 财务公司调研次数
rename 银行调研次数_M 银行调研次数
rename 私募调研次数_M 私募调研次数
rename 保险公司调研次数_M 保险公司调研次数
rename 资管公司调研次数_M 资管公司调研次数

twoway (line 证券公司调研次数 Year) (line 基金公司调研次数 Year) (line 私募调研次数 Year) (line 资管公司调研次数 Year) (line 信托公司调研次数 Year) (line 银行调研次数 Year) (line 财务公司调研次数 Year) (line 保险公司调研次数 Year) , ytitle(各机构调研次数)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(各类型机构调研次数, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\各类型机构调研次数.png", as(png) name("Graph") replace

//机构持股
bysort Year: egen 平均机构持股比例 = mean(机构持股比例合计) 
order 平均机构持股比例, after(第十名大股东持股比例)
bysort Year: egen 平均基金持股比例 = mean(基金持股比例) 
order 平均基金持股比例, after(平均机构持股比例)
bysort Year: egen 平均基金资产管理计划持股比例 = mean(基金资产管理计划持股比例) 
order 平均基金资产管理计划持股比例, after(平均基金持股比例)
bysort Year: egen 平均券商持股比例 = mean(券商持股比例) 
order 平均券商持股比例, after(平均基金资产管理计划持股比例)
bysort Year: egen  平均券商理财产品持股比例= mean(券商理财产品持股比例) 
order 平均券商理财产品持股比例, after(平均券商持股比例)
bysort Year: egen  平均保险公司持股比例= mean(保险公司持股比例) 
order 平均保险公司持股比例, after(平均券商理财产品持股比例)
bysort Year: egen  平均保险产品持股比例= mean(保险产品持股比例) 
order 平均保险产品持股比例, after(平均保险公司持股比例)

twoway (line 平均基金持股比例 Year) (line 平均基金资产管理计划持股比例 Year) (line 平均券商持股比例 Year) (line 平均券商理财产品持股比例 Year) (line 平均保险公司持股比例 Year) (line 平均保险产品持股比例 Year) , ytitle(各类型机构持股比例)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(各类型机构持股比例, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
     
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\各类型机构调持股比例.png", as(png) name("Graph") replace 

twoway (line 平均机构持股比例 Year)  , ytitle(平均机构持股比例)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(机构持股比例, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)   
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\平均机构持股比例.png", as(png) name("Graph") replace 
//
bysort Year: egen  Turnover_M= mean(Turnover) 
order Turnover_M, after(Turnover)
twoway (line Turnover_M Year), ytitle(换手率)  xtitle(年度) ylabel(, labels labcolor(black%80)) xlabel(, labels) title(市场换手率变化, size(medlarge)) caption(数据来源：东方财富Choice数据库) scheme(sj) xsize(20) ysize(15)
graph export "D:\Document\doing\主动与被动信息披露——基于股份回购与机构调研\图表\市场换手率变化.png", as(png) name("Graph") replace 